1. Field of the Invention
This invention relates generally to computer networking, and more particularly to JavaServer Pages tag libraries incorporating web services.
2. Description of the Related Art
With the growing popularity of the World Wide Web, dependence on web-based services is becoming increasingly prolific. Part of this dependence includes the dependence on dynamically changing web pages, such as search engine pages, news pages, and web shopping pages. One technology utilized today to provide dynamic web pages is JavaServer Pages (JSP) from Sun Microsystems, Inc.
JSP technology allows web developers and designers to rapidly develop and easily maintain, information-rich, dynamic web pages that leverage existing business systems. As part of the Java family, JSP technology enables rapid development of web-based applications that are platform independent. In addition, JSP technology separates the user interface from content generation enabling designers to change the overall page layout without altering the underlying dynamic content.
FIG. 1 is a block diagram showing an exemplary prior art JSP based server configuration 100. As shown in FIG. 1, the JSP based server configuration operates in a manner similar to a static web page. That is, a browser 102 requests a web page, such as a Hypertext Markup Language (HTML) document, from the server. However, unlike a static web page server, a server designed using a JSP based server configuration 100 includes a JSP page 104, which generates the HTML dynamically.
In particular, the JSP page 104 uses XML-like tags and scriptlets written in the Java programming language to encapsulate logic that generates the content for the HTML document 108. Additionally, application logic can reside in server-based resources (such as JavaBeans component architecture) that the JSP page 104 accesses using the tags and scriptlets. In this manner, the JSP page 104 can receive content 106 from a content source, such as separate program executing on the server, and process the received content 106 to dynamically create the HTML document 108. Once generated, the HTML document 108 is transmitted back to the browser 102.
Web Services Description Language (WSDL) based programs currently are utilized to request actions and content from web locations. WSDL is an extensible markup language (XML) format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into abstract endpoints (services). WSDL is extensible to allow description of endpoints and their messages regardless of what message formats or network protocols are used to communicate.
For example, FIG. 2 is a block diagram showing an exemplary prior art WSDL based server configuration 200. The WSDL based server configuration 200 includes a WSDL endpoint 202, which provides an entry point for external applications to access the logic 204 that provides the actual web services. In operation, an application 206 can access the logic 204 using a WSDL document 208 describing the WSDL endpoint 202.
Broadly speaking, the WSDL document 208 defines services as collections of network endpoints, or ports. In WSDL, the abstract definition of endpoints and messages is separated from their concrete network deployment or data format bindings. This allows the reuse of abstract definitions: messages, which are abstract descriptions of the data being exchanged, and port types, which are abstract collections of operations. The concrete protocol and data format specifications for a particular port type constitute a reusable binding. A port is defined by associating a network address with a reusable binding. A collection of ports defines a service. In this manner, the application 206 can utilize the web services in an abstract and network independent manner.
Although web page generation has been made easily accessible to the public through various web authoring tools, WSDL utilization is not widely available because of the complexity involved in its usage. That is, conventional systems do not provide a mechanism for easily incorporating data from web services into web pages viewable using a browser. As a result, incorporating content obtained through web services or other network sources into dynamic web pages is a laborious and time intensive task.
Hence, in view of the foregoing, there is a need for systems and methods for incorporating web services into dynamic web pages. The methods should allow web services to be utilized in conjunction with dynamic web pages. In addition, the methods should be easily portable for use in web authoring tools.